package main

import (
	"fmt"
	"reflect"
)

func main() {

	var slice = make([]interface{}, 10)
	var map01 = make(map[string]string)
	var map02 = map[string]int{}

	map01["Command"] = "ping"
	map02["ID"] = 1
	var map03 = make(map[string]map[string]string)
	map03["mapValue"] = map01
	slice[1] = map01
	slice[2] = map02
	slice[3] = map03

	fmt.Println(slice[0])
	fmt.Println(slice[1])
	fmt.Println(slice[2])
	fmt.Println(slice[3])

	var circle float32 = 3.14
	var cir interface{}
	cir = circle
	fmt.Println("Reflect : cir.Value = ", reflect.ValueOf(cir))
	fmt.Println("Reflect : cir.Type  = ", reflect.TypeOf(cir))
	fmt.Println("Reflect : circle.Value = ", reflect.ValueOf(circle))
	fmt.Println("Reflect : circle.Type  = ", reflect.TypeOf(circle))

	var valueRef = reflect.ValueOf(cir)
	fmt.Println(valueRef)
	fmt.Println(valueRef.Interface())
	y := valueRef.Interface().(float32)
	fmt.Println(y)

}
